package com.smartleanx.module.hrm.service.operationlog;

import java.util.*;
import javax.validation.*;
import com.smartleanx.module.hrm.controller.admin.operationlog.vo.*;
import com.smartleanx.module.hrm.dal.dataobject.operationlog.OperationLogDO;
import com.smartleanx.framework.common.pojo.PageResult;
import com.smartleanx.framework.common.pojo.PageParam;

/**
 * 操作日志记录 Service 接口
 *
 * @author 精益大师
 */
public interface OperationLogService {

    /**
     * 创建操作日志记录
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createOperationLog(@Valid OperationLogSaveReqVO createReqVO);

    /**
     * 获得操作日志记录
     *
     * @param id 编号
     * @return 操作日志记录
     */
    OperationLogDO getOperationLog(Long id);

    /**
     * 获得操作日志记录分页
     *
     * @param pageReqVO 分页查询
     * @return 操作日志记录分页
     */
    PageResult<OperationLogRespVO> getOperateLogPage(OperationLogPageReqVO pageReqVO);

    void deleteByUserId(Long userId);
}
